package com.sunny.leetcode.链表;

/**
 * 实现一种算法，删除单向链表中间的某个节点（即不是第一个或最后一个节点），假定你只能访问该节点。

 * 示例：
 *  输入：单向链表a->b->c->d->e->f中的节点c
 *  结果：不返回任何数据，但该链表变为a->b->d->e->f
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/delete-middle-node-lcci
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * @author Sunny
 * @date 2020/7/5
 */
public class _面试题_02_03_删除中间节点 {

    /**
     * 思路：
     *  将下一个结点的值以及下一个节点赋给当前节点
     *
     * @param node 要删除的节点
     * @author Sunny
     * @date 2020/7/5
     */
    public void deleteNode(ListNode node) {
        if (node == null || node.next == null) return;

        node.val = node.next.val;
        node.next = node.next.next;
    }
}
